package com.woniu.service;

import com.woniu.dto.ActivityDetail;
import com.woniu.dto.ActivityPost;
import com.woniu.dto.MyActivityPost;
import com.woniu.pojo.Activity;

import java.util.List;
import java.util.Map;

public interface ActivityService {
    /**
     * 投诉活动
     * @param map
     */
    void save(Map<String, Object> map);

    /**
     * 发布活动
     * @param map
     */
    void ActivitySave(Map<String, Object> map);

    /**
     * 获取活动详情
     * @param activityId
     * @param userId
     * @return
     */
    ActivityDetail findActivity(Integer activityId, Integer userId);

    /**
     * 保存报名活动，用户id到报名表，如果付费，则返回订单编号
     * @param activityId
     * @param userId
     */
    String saveSignUp(Integer activityId, Integer userId);

    /**
     * 取消指定用户的指定活动报名
     * @param activityId
     * @param userId
     */
    void deleteById(Integer activityId, Integer userId);

    /**
     * 获取活动
     * @param type
     * @param page
     * @return
     */
    List<ActivityPost> findByType(Integer type, Integer page);

    /**
     * 获取指定活动id的参与人
     * @param activityId
     * @return
     */
    List<MyActivityPost> findUserById(Integer activityId);

    /**
     * 更新用户活动状态
     * @param activityId
     * @param userId
     * @return
     */
    int updateSignUp(Integer activityId, Integer userId);

    /**
     * 删除用户活动
     * @param activityId
     * @param userId
     * @return
     */
    int deleteByActivityIdAndUserId(Integer activityId, Integer userId);

    /**
     * 根据用户id和活动id查找订单编号
     * @param activityId
     * @param userId
     * @return
     */
    String findCoNum(Integer activityId, Integer userId);

    /**
     * 查询所有活动
     * @return
     */
    List<Activity> selectAll(String act);

    /**
     * 更新活动状态
     * @param activity
     */
    void updateActivity(Activity activity,String act);

    /**
     * 查找活动内容
     * @param activityId
     * @return
     */
    String selectContent(Integer activityId);
}
